[2017_HackCon] [Stegano] White¶
문제내용¶
This is a white image. Or is it?
문제 풀이¶
이미지 파일을 받고 보면 IEND 뒤에 base64데이터가 붙어있는 것을 볼 수 있다. 해당 base64 데이터를 디코딩하면 또다른 이미지 파일이 나온다.
이런식으로 계속해서 이미지 파일을 디코딩하면 이미지 조각들이 나오게 되고, 해당 이미지 조각을 조합하면 플래그를 획득할 수 있다.
import base64
f = open('final.png','rb')
data = f.read()
l = 1
while True:
if 'IEND' in data:
data = data.split('IEND')[1][4:]
data = base64.b64decode(data)
g = open (str(l)+'.png','wb')
g.write(data)
g.close()
l = l+1
else:
False
break